package mundo;

public class NodoCliente {

	
	private NodoCliente derecho, izquierdo;
	
	private Cliente elemento;
	
	
	public NodoCliente(long nCedula, String nombre, String apellidos, int edad, Ciudad nCiudad)
	{
		elemento=new Cliente(nCedula, nombre, apellidos, edad, nCiudad);
		
	}
	
	public boolean esHoja()
	{
		return (derecho==null&&izquierdo==null);
	}
	
	public NodoCliente darDerecho()
	{
		return derecho;
	}
	public NodoCliente darIzquierdo()
	{
		return izquierdo;
	}
	
	public Cliente darCliente()
	{
		return elemento;
	}
	
	public void AgregarCliente(long cedula, String nombre, String apellidos, int edad, Ciudad nCiudad)
	{
		if(cedula<elemento.darCedula())
		{
			if(izquierdo==null)
				izquierdo=new NodoCliente(cedula, nombre, apellidos, edad, nCiudad);
			else
				izquierdo.AgregarCliente(cedula, nombre, apellidos, edad, nCiudad);
		}
		else 
		{
			if(derecho==null)
				derecho=new NodoCliente(cedula,nombre,apellidos,edad, nCiudad);
			else
				derecho.AgregarCliente(cedula, nombre, apellidos, edad, nCiudad);
		}
	}
	
	
	public Cliente buscarCliente(long nCedula)
	{
		if(elemento.cedula==nCedula)
			return elemento;
		else if(nCedula<elemento.darCedula())
			return (izquierdo==null)?null:izquierdo.buscarCliente(nCedula);
		else if (nCedula>elemento.darCedula())
			return (derecho==null)?null:derecho.buscarCliente(nCedula);
		else return null;
		
			
	}
	
	
	
}
